home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 2001 May / SGI Freeware 2001 May - Disc 1.iso / dist / fw_teTeX.idb / usr / freeware / info / web2c.info-2.z / web2c.info-2 (.txt)
GNU Info File  |  2001-01-10  |  53KB  |  951 lines

  1. This is Info file web2c.info, produced by Makeinfo version 1.68 from
  2. the input file web2c.texi.
  3. INFO-DIR-SECTION TeX
  4. START-INFO-DIR-ENTRY
  5. * Web2c: (web2c).                    TeX, Metafont, and companion programs.
  6. * bibtex: (web2c)bibtex invocation.             Maintaining bibliographies.
  7. * dmp: (web2c)dmp invocation.                   Troff->MPX (MetaPost pictures).
  8. * dvicopy: (web2c)dvicopy invocation.           Virtual font expansion
  9. * dvitomp: (web2c)dvitomp invocation.           DVI to MPX (MetaPost pictures).
  10. * dvitype: (web2c)dvitype invocation.           DVI to human-readable text.
  11. * gftodvi: (web2c)gftodvi invocation.           Generic font proofsheets.
  12. * gftopk: (web2c)gftopk invocation.             Generic to packed fonts.
  13. * gftype: (web2c)gftype invocation.             GF to human-readable text.
  14. * inimf: (web2c)inimf invocation.               Initial Metafont.
  15. * inimpost: (web2c)inimpost invocation.         Initial MetaPost.
  16. * initex: (web2c)initex invocation.             Initial TeX.
  17. * makempx: (web2c)makempx invocation.           MetaPost label typesetting.
  18. * mf: (web2c)mf invocation.                     Creating typeface families.
  19. * mft: (web2c)mft invocation.                   Prettyprinting Metafont source.
  20. * mltex: (web2c)MLTeX.                          Multi-lingual TeX.
  21. * mpost: (web2c)mpost invocation.               Creating technical diagrams.
  22. * mpto: (web2c)mpto invocation.                 MetaPost label extraction.
  23. * newer: (web2c)newer invocation.               Compare modification times.
  24. * patgen: (web2c)patgen invocation.             Creating hyphenation patterns.
  25. * pktogf: (web2c)pktogf invocation.             Packed to generic fonts.
  26. * pktype: (web2c)pktype invocation.             PK to human-readable text.
  27. * pltotf: (web2c)pltotf invocation.             Property list to TFM.
  28. * pooltype: (web2c)pooltype invocation.         Display WEB pool files.
  29. * tangle: (web2c)tangle invocation.             WEB to Pascal.
  30. * tex: (web2c)tex invocation.                   Typesetting.
  31. * tftopl: (web2c)tftopl invocation.             TFM -> property list.
  32. * vftovp: (web2c)vftovp invocation.             Virtual font -> virtual pl.
  33. * virmf: (web2c)virmf invocation.               Virgin Metafont.
  34. * virmpost: (web2c)virmpost invocation.         Virgin MetaPost.
  35. * virtex: (web2c)virtex invocation.             Virgin TeX.
  36. * vptovf: (web2c)vptovf invocation.             Virtual pl -> virtual font.
  37. * weave: (web2c)weave invocation.               WEB to TeX.
  38. END-INFO-DIR-ENTRY
  39.   This file documents the installation and use of the programs in Web2c,
  40. an implementation of Donald Knuth's TeX system.
  41.   Copyright (C) 1996, 97 K. Berry & O. Weber.
  42.   Permission is granted to make and distribute verbatim copies of this
  43. manual provided the copyright notice and this permission notice are
  44. preserved on all copies.
  45.   Permission is granted to copy and distribute modified versions of this
  46. manual under the conditions for verbatim copying, provided that the
  47. entire resulting derived work is distributed under the terms of a
  48. permission notice identical to this one.
  49.   Permission is granted to copy and distribute translations of this
  50. manual into another language, under the above conditions for modified
  51. versions, except that this permission notice may be stated in a
  52. translation
  53. File: web2c.info,  Node: TCX files,  Prev: patgen invocation,  Up: Languages and hyphenation
  54. TCX files: Character translations
  55. ---------------------------------
  56.   TCX (TeX character translation) files help TeX support direct input
  57. of 8-bit international characters if fonts containing those characters
  58. are being used.  Specifically, they map an input (keyboard) character
  59. code to the internal TeX character code (a superset of ASCII).
  60.   Of the various proposals for handling more than one input encoding,
  61. TCX files were chosen because they follow Knuth's original ideas for
  62. the use of the `xhcr' and `xord' tables.  He ventured that these would
  63. be changed in the WEB source in order to adjust the actual version to a
  64. given environment.  It turned out, however, that recompiling the WEB
  65. sources is not as simple task as Knuth predicted; therefore, TCX files,
  66. providing the possibility of changing of the conversion tables on
  67. on-the-fly, has been implemented instead.
  68.   This approach limits the portability of TeX documents, as some
  69. implementations do not support it (or use a different method for
  70. input-internal reencoding).  It may also be problematic to determine the
  71. encoding to use for a TeX document of unknown provenance; in the worst
  72. case, failure to do so correctly may result in subtle errors in the
  73. typeset output.
  74.   While TCX files can be used with any format, using them breaks the
  75. LaTeX `inputenc' package.  This is why you should either use TCXFILE or
  76. `inputenc' in LaTeX files, but never both.
  77.   This is entirely independent of the MLTeX extension (*note MLTeX::.):
  78. whereas a TCX file defines how an input keyboard character is mapped to
  79. TeX's internal code, MLTeX defines substitutions for a non-existing
  80. character glyph in a font with a `\accent' construction made out of two
  81. separate character glyphs.  TCX files involve no new primitives; it is
  82. not possible to specify that an input (keyboard) character maps to more
  83. than one character.
  84.   Specifying TCX files:
  85.    * You can specify a TCX file to be used for a particular TeX run by
  86.      specifying the command-line option `-translation-file=TCXFILE' or
  87.      (preferably) specifying it explicitly in the first line of the
  88.      main document `%& -translation-file=TCXFILE'.
  89.    * TCX files are searched for along the `WEB2C' path.
  90.    * `INITEX' ignores TCX files.
  91.   The Web2c distribution comes with at least two TCX files,
  92. `il1-t1.tcx' and `il2-t1.tcx'.  These support ISO Latin 1 and ISO Latin
  93. 2, respectively, with Cork-encoded fonts (a.k.a. the T1 encoding).  TCX
  94. files for Czech, Polish, and Slovak are also provided.
  95.   Syntax of TCX files:
  96.   1. Line-oriented. Blank lines are ignored.
  97.   2. Whitespace is ignored except as a separator.
  98.   3. Comments start with `%' and continue to the end of the line.
  99.   4. Otherwise, a line consists of one or two character codes:
  100.           SRC [DEST]
  101.   5. Each character code may be specified in octal with a leading `0',
  102.      hexadecimal with a leading `0x', or decimal otherwise. Values must
  103.      be between 0 and 255, inclusive (decimal).
  104.   6. If the DEST code is not specified, it is taken to be the same as
  105.      SRC.
  106.   7. If the same SRC code is specified more than once, it is the last
  107.      definition that counts.
  108.   Finally, here's what happens: when TeX sees an input character with
  109. code SRC, it 1) changes SRC to DEST; and 2) makes code the DEST
  110. "printable", i.e., printed as-is in diagnostics and the log file
  111. instead of in `^^' notation.
  112.   By default, no characters are translated, and character codes between
  113. 32 and 126 inclusive (decimal) are printable.  It is not possible to
  114. make these (or any) characters unprintable.
  115.   Specifying translations for the printable ASCII characters (codes
  116. 32-127) will yield unpredictable results.  Additionally you shouldn't
  117. make the following characters printable: `^^I' (TAB), `^^J' (line
  118. feed), `^^M' (carriage return), and `^^?' (delete), since TeX uses them
  119. in various ways.
  120.   Thus, the idea is to specify the input (keyboard) character code for
  121. SRC, and the output (font) character code for DEST.
  122. File: web2c.info,  Node: patgen invocation,  Next: TCX files,  Prev: MLTeX,  Up: Languages and hyphenation
  123. Patgen: Creating hyphenation patterns
  124. -------------------------------------
  125.   Patgen creates hyphenation patterns from dictionary files for use with
  126. TeX. Synopsis:
  127.      patgen DICTIONARY PATTERNS OUTPUT TRANSLATE
  128.   Each argument is a filename. No path searching is done. The output is
  129. written to the file OUTPUT.
  130.   In addition, Patgen prompts interactively for other values.
  131.   For more information, see `Word hy-phen-a-tion by com-puter' by Frank
  132. Liang (*note References::.), and also the `patgen.web' source file.
  133.   The only options are `-help' and `-version' (*note Common options::.).
  134. File: web2c.info,  Node: IPC and TeX,  Next: TeX extensions,  Prev: Languages and hyphenation,  Up: TeX
  135. IPC and TeX
  136. ===========
  137.   (Sorry, but I'm not going to write this unless someone actually uses
  138. this feature. Let me know.)
  139.   This functionality is available only if the `--enable-ipc' option was
  140. specified to `configure' during installation of Web2c (*note
  141. Installation::.).
  142.   If you define `IPC_DEBUG' before compilation (e.g., with `make
  143. XCFLAGS=-DIPC_DEBUG'), TeX will print messages to standard error about
  144. its socket operations.  This may be helpful if you are, well, debugging.
  145. File: web2c.info,  Node: TeX extensions,  Prev: IPC and TeX,  Up: TeX
  146. TeX extensions
  147. ==============
  148.   The base TeX program has been extended in many ways.  Here's a
  149. partial list.  Please send information on extensions not listed here to
  150. the address in *Note Reporting bugs: (kpathsea)Reporting bugs.
  151. e-TeX
  152.      Adds many new primitives, including right-to-left typesetting.
  153.      Available from `http://www.vms.rhbnc.ac.uk/e-TeX/' and
  154.      `CTAN:/systems/e-tex'.
  155. Omega
  156.      Adds Unicode support, right-to-left typesetting, and more.
  157.      Available from `http://www.ens.fr/omega' and `CTAN:/systems/omega'.
  158. pdfTeX
  159.      A variant of TeX that produces PDF instead of DVI files.  It also
  160.      includes primitives for hypertext.  Available from
  161.      `CTAN:/systems/pdftex'.
  162. `TeX--XeT'
  163.      Adds primitives and DVI opcodes for right-to-left typesetting (as
  164.      used in Arabic, for example).  An old version for TeX 3.1415 is
  165.      available from `CTAN:/systems/knuth/tex--xet'.  A newer version is
  166.      included in e-TeX.
  167. File-handling TeX
  168.      Adds primitives for creating multiple DVI files in a single run;
  169.      and appending to output files as well as overwriting.  Web2c
  170.      implementation available in the distribution file
  171.      `web2c/contrib/file-handling-tex'.
  172. File: web2c.info,  Node: Metafont,  Next: MetaPost,  Prev: TeX,  Up: Top
  173. Metafont: Creating typeface families
  174. ************************************
  175.   Metafont is a system for producing shapes; it was designed for
  176. producing complete typeface families, but it can also produce geometric
  177. designs, dingbats, etc.  And it has considerable mathematical and
  178. equation-solving capabilities which can be useful entirely on their own.
  179.   Metafont is a batch language, like C or Pascal: you compile a Metafont
  180. program into a corresponding font, rather than interactively drawing
  181. lines or curves.  This approach has both considerable disadvantages
  182. (people unfamiliar with conventional programming languages will be
  183. unlikely to find it usable) and considerable advantages (you can make
  184. your design intentions specific and parameterizable).  For a complete
  185. description of the Metafont language, see `The METAFONTbook' (*note
  186. References::.).
  187. * Menu:
  188. * mf invocation::               Invoking Metafont.
  189. * inimf invocation::            Initial Metafont.
  190. * virmf invocation::            Virgin Metafont.
  191. * Modes::                       Device definitions for Metafont.
  192. * Online Metafont graphics::    Seeing MF output online.
  193. * gftodvi invocation::          Making proofsheets for fonts.
  194. * mft invocation::              Prettyprinting Metafont sources.
  195. File: web2c.info,  Node: mf invocation,  Next: inimf invocation,  Up: Metafont
  196. `mf' invocation
  197. ===============
  198.   Metafont (usually invoked as `mf') reads character definitions
  199. specified in the Metafont programming language, and outputs the
  200. corresponding font.  This section merely describes the options available
  201. in the Web2c implementation.  For a complete description of the Metafont
  202. language, see `The Metafontbook' (*note References::.).
  203.   Metafont processes its command line and determines its memory dump
  204. (base) file in a way exactly analogous to MetaPost and TeX (*note tex
  205. invocation::., and *note Memory dumps::.).  Synopses:
  206.      mf [OPTION]... [MFNAME[.mf]] [MF-COMMANDS]
  207.      mf [OPTION]... \FIRST-LINE
  208.      mf [OPTION]... &BASE ARGS
  209.   Most commonly, a Metafont invocation looks like this:
  210.      mf '\mode:=MODE; mag:=MAGNIFICATION; input MFNAME'
  211. (The single quotes avoid unwanted interpretation by the shell.)
  212.   Metafont searches the usual places for the main input file MFNAME
  213. (*note Supported file formats: (kpathsea)Supported file formats.),
  214. extending MFNAME with `.mf' if necessary.  To see all the relevant
  215. paths, set the environment variable `KPATHSEA_DEBUG' to `-1' before
  216. running the program.  By default, Metafont runs an external program
  217. named `mktexmf' to create any nonexistent Metafont source files you
  218. input.  You can disable this at configure-time or runtime (*note mktex
  219. configuration: (kpathsea)mktex configuration.).  This is mostly for the
  220. sake of the EC fonts, which can be generated at any size.
  221.   Metafont writes the main GF output to the file `BASEMFNAME.NNNgf',
  222. where NNN is the font resolution in pixels per inch, and BASEMFNAME is
  223. the basename of MFNAME, or `mfput' if no input file was specified.  A
  224. GF file contains bitmaps of the actual character shapes.  Usually GF
  225. files are converted immediately to PK files with GFtoPK (*note gftopk
  226. invocation::.), since PK files contain equivalent information, but are
  227. more compact.  (Metafont output in GF format rather than PK for only
  228. historical reasons.)
  229.   Metafont also usually writes a metric file in TFM format to
  230. `BASEMFNAME.tfm'.  A TFM file contains character dimensions, kerns, and
  231. ligatures, and spacing parameters.  TeX reads only this .tfm file, not
  232. the GF file.
  233.   The MODE in the example command above is a name referring to a device
  234. definition (*note Modes::.); for example, `localfont' or `ljfour'.
  235. These device definitions must generally be precompiled into the base
  236. file.  If you leave this out, the default is `proof' mode, as stated in
  237. `The Metafontbook', in which Metafont outputs at a resolution of
  238. 2602dpi; this is usually not what you want.  The remedy is simply to
  239. assign a different mode--`localfont', for example.
  240.   The MAGNIFICATION assignment in the example command above is a
  241. magnification factor; for example, if the device is 600dpi and you
  242. specify `mag:=2', Metafont will produce output at 1200dpi.  Very often,
  243. the MAGNIFICATION is an expression such as `magstep(.5)', corresponding
  244. to a TeX "magstep", which are factors of 1.2 * sqrt(2).
  245.   After running Metafont, you can use the font in a TeX document as
  246. usual.  For example:
  247.      \font\myfont = newfont
  248.      \myfont Now I am typesetting in my new font (minimum hamburgers).
  249.   The program accepts the following options, as well as the standard
  250. `-help' and `-version' (*note Common options::.):
  251. `-kpathsea-debug=NUMBER'
  252. `-ini'
  253. `-base=BASENAME'
  254. `-progname=STRING'
  255. `-translate-file=TCXFILE'
  256.      These options are common to TeX, Metafont, and MetaPost.  *Note
  257.      Common options::.
  258. `-mktex=FILETYPE'
  259. `-no-mktex=FILETYPE'
  260.      Turn on or off the `mktex' script associated with FILETYPE.  The
  261.      only value that makes sense for FILETYPE is `mf'.
  262. File: web2c.info,  Node: inimf invocation,  Next: virmf invocation,  Prev: mf invocation,  Up: Metafont
  263. `inimf' invocation
  264. ==================
  265.   `inimf' is the "initial" form of Metafont, which does lengthy
  266. initializations avoided by the "virgin" (`vir') form, so as to be
  267. capable of dumping `.base' files (*note Memory dumps::.).  For a
  268. detailed comparison of virgin and initial forms, see *Note Initial and
  269. virgin::.
  270.   For a list of options and other information, see *Note mf
  271. invocation::.
  272.   The only memory dump file commonly used with Metafont is the default
  273. `plain.base', also known as `mf.base' (again, *note Memory dumps::.).
  274. It is created by default during installation, but you can also do so by
  275. hand if necessary (e.g., if a Metafont update is issued):
  276.      inimf '\input plain; input modes; dump'
  277. (The quotes prevent interpretation of the backslashes from the shell.)
  278. Then install the resulting `plain.base' in `$(basedir)'
  279. (`/usr/local/share/texmf/web2c' by default), and link `mf.base' to it.
  280.   For an explanation of the additional `modes.mf' file, see *Note
  281. Modes::.  This file has no counterpart in TeX or MetaPost.
  282.   In the past, it was sometimes useful to create a base file
  283. `cmmf.base' (a.k.a. `cm.base'), with the Computer Modern macros also
  284. included in the base file.  Nowadays, however, the additional time
  285. required to read `cmbase.mf' is exceedingly small, usually not enough
  286. to be worth the administrative hassle of updating the `cmmf.base' file
  287. when you install a new version of `modes.mf'.  People actually working
  288. on a typeface may still find it worthwhile to create their own base
  289. file, of course.
  290. File: web2c.info,  Node: virmf invocation,  Next: Modes,  Prev: inimf invocation,  Up: Metafont
  291. `virmf' invocation
  292. ==================
  293.   `virmf' is the "virgin" form of Metafont, which avoids the lengthy
  294. initializations done by the "initial" (`ini') form, and is thus what is
  295. generally used for production work.  Usually it is invoked under the
  296. name `mf'.  For a detailed comparison of virgin and initial forms, see
  297. *Note Initial and virgin::.
  298.   For a list of options and other information, see *Note mf
  299. invocation::.
  300. File: web2c.info,  Node: Modes,  Next: Online Metafont graphics,  Prev: virmf invocation,  Up: Metafont
  301. Modes: Device definitions for Metafont
  302. ======================================
  303.   Running Metafont and creating Metafont base files requires information
  304. that TeX and MetaPost do not: "mode" definitions which specify device
  305. characteristics, so Metafont can properly rasterize the shapes.
  306.   When making a base file, a file containing modes for locally-available
  307. devices should be input after `plain.mf'.  One commonly used file is
  308. `ftp://ftp.tug.org/tex/modes.mf'; it includes all known definitions.
  309.   If, however, for some reason you have decreased the memory available
  310. in your Metafont, you may need to copy `modes.mf' and remove the
  311. definitions irrelevant to you (probably most of them) instead of using
  312. it directly.  (Or, if you're a Metafont hacker, maybe you can suggest a
  313. way to redefine `mode_def' and/or `mode_setup'; right now, the amount
  314. of memory used is approximately four times the total length of the
  315. `mode_def' names, and that's a lot.)
  316.   If you have a device not included in `modes.mf', please see comments
  317. in that file for how to create the new definition, and please send the
  318. definition to <tex-fonts@mail.tug.org> to get it included in the next
  319. release of `modes.mf'.
  320.   Usually, when you run Metafont you must supply the name of a mode that
  321. was dumped in the base file.  But you can also define the mode
  322. characteristics dynamically, by invoking Metafont with an assignment to
  323. `smode' instead of `mode', like this:
  324.      mf '\smode:="newmode.mf"; mag:=MAGNIFICATION; input MFNAME'
  325. This is most useful when you are working on the definition of a new
  326. mode.
  327.   The MAGNIFICATION and MFNAME arguments are explained in *Note mf
  328. invocation::.  In the file `newmode.mf', you should have the following
  329. (with no `mode_def' or `enddef'), if you are using `modes.mf'
  330. conventions:
  331.      mode_param (pixels_per_inch, DPI);
  332.      mode_param (blacker, B);
  333.      mode_param (fillin, F);
  334.      mode_param (o_correction, O);
  335.      mode_common_setup_;
  336. (Of course, you should use real numbers for DPI, B, F, and O.)
  337.   For more information on the use of `smode', or if you are not using
  338. `modes.mf', see page 269 of `The Metafontbook'.
  339. File: web2c.info,  Node: Online Metafont graphics,  Next: gftodvi invocation,  Prev: Modes,  Up: Metafont
  340. Online Metafont graphics
  341. ========================
  342.   The Web2c implementation of Metafont can do online graphics with a
  343. number of devices. (See the Metafont manual for more information about
  344. how to draw on your screen.)  By default, no graphics support is
  345. enabled.
  346.   Metafont examines the `MFTERM' environment variable or config file
  347. value at runtime, or the `TERM' environment variable if `MFTERM' is not
  348. set, to determine the device support to use.  Naturally, only the
  349. devices for which support has been compiled in can be selected.
  350.   Here is a table of the possibilities, showing the `MFTERM' value and
  351. the corresponding `configure' option(s) in parentheses.
  352. `epsf'
  353.      (`--with-epsfwin') Encapsulated PostScript pseudo-window server
  354.      (see `web2c/window/epsf.c'). This device produces an EPS file
  355.      containing the graphics which would be displayed online on other
  356.      devices. The name of the EPS file defaults to metafont.eps but can
  357.      be changed by setting the MFEPSF environment variable to the new
  358.      filename.  Contributed by Mathias Herberts.
  359. `hp2627'
  360.      (`--with-hp2627win') HP2627a color graphics terminals.
  361. `mftalk'
  362.      (`--with-mftalkwin') Generic window server (see
  363.      `web2c/window/mftalk.c').
  364. `next'
  365.      (`--with-next') NeXT window system. This requires a separate
  366.      program, called `DrawingServant', available separately. See the
  367.      `web2c/window/next.c'.
  368. `regis'
  369.      (`--with-regiswin') Regis terminals.
  370. `sun'
  371.      (`--with-suntoolswin') The old Suntools (not any flavor of X)
  372.      window system. (You can get the even older SunWindows `gfx' system
  373.      by using `sun-gfx.c'.)
  374. `tek'
  375.      (`--with-tektronixwin') Tektronix terminals.
  376. `uniterm'
  377.      (`--with-unitermwin') Uniterm, Simon Poole's emulator of a smart
  378.      Tektronix 4014 terminal.  This may work with regular Tektronix
  379.      terminals as well; it's faster than the driver `--with-tek'
  380.      selects.
  381. `xterm'
  382.      (`--with-x11win', `--with-x', `--with-x11') The X window system
  383.      (version 11).
  384.      There are two variants of the X11 support, one that works with the
  385.      Xt toolkit, and another that works directly with Xlib. The Xt
  386.      support is more efficient and has more functionality, so it is the
  387.      default. If you must use the Xlib support, use `configure --with-x
  388.      --with-x-toolkit=no'.
  389.      You cannot specify any of the usual X options (e.g., `-geometry')
  390.      on the Metafont command line, but you can specify X resources in
  391.      your `~/.Xdefaults' or `~/.Xresources' file. The class name is
  392.      `Metafont'. If you're using the Xt support, all the usual X toolkit
  393.      resources are supported.  If you're using the Xlib support, only
  394.      the `geometry' resource is supported.
  395.      You specify the X display to which Metafont connects in the
  396.      `DISPLAY' environment variable, as usual.
  397.   Writing support for a new device is straightforward. Aside from
  398. defining the basic drawing routines that Metafont uses (see `mf.web'),
  399. you only have to add another entry to the tables on the last page of
  400. `web2c/lib/texmfmp.c'.  Or you can write an independent program and use
  401. MFtalk (see `web2c/window/mftalk.c').
  402. File: web2c.info,  Node: gftodvi invocation,  Next: mft invocation,  Prev: Online Metafont graphics,  Up: Metafont
  403. GFtoDVI: Character proofs of fonts
  404. ==================================
  405.   GFtoDVI makes "proof sheets" from a GF bitmap file as output by, for
  406. example, Metafont (*note Metafont::.).  This is an indispensable aid for
  407. font designers or Metafont hackers.  Synopsis:
  408.      gftodvi [OPTION]... GFNAME[gf]
  409.   The font GFNAME is searched for in the usual places (*note Glyph
  410. lookup: (kpathsea)Glyph lookup.).  To see all the relevant paths, set
  411. the environment variable `KPATHSEA_DEBUG' to `-1' before running the
  412. program.
  413.   The suffix `gf' is supplied if not already present.  This suffix is
  414. not an extension; no `.' precedes it: for instance `cmr10.600gf'.
  415.   The output filename is the basename of GFNAME extended with `.dvi',
  416. e.g., `gftodvi /wherever/foo.600gf' creates `./foo.dvi'.
  417.   The characters from GFNAME appear one per page in the DVI output,
  418. with labels, titles, and annotations, as specified in Appendix H
  419. (Hardcopy Proofs) of `The Metafontbook'.
  420.   GFtoDVI uses several fonts besides GFNAME itself:
  421.    * "gray font" (default `gray'): for the pixels that actually make up
  422.      the character.  Simply using black is not right, since then labels,
  423.      key points, and other information could not be shown.
  424.    * "title font" (default `cmr8'): for the header information at the
  425.      top of each output page.
  426.    * "label font" (default `cmtt10'): for the labels on key points of
  427.      the figure.
  428.    * "slant font" (no default): for diagonal lines, which are otherwise
  429.      simulated using horizontal and vertical rules.
  430.   To change the default fonts, you must use `special' commands in your
  431. Metafont source file.
  432.   The program accepts the following option, as well as the standard
  433. `-verbose', `-help', and `-version' (*note Common options::.):
  434. `-overflow-label-offset=POINTS'
  435.      Typeset the so-called overflow labels, if any, POINTS TeX points
  436.      from the right edge of the character bounding box.  The default is
  437.      a little over two inches (ten million scaled points, to be
  438.      precise).  Overflow equations are used to locate coordinates when
  439.      their actual position is too crowded with other information.
  440. File: web2c.info,  Node: mft invocation,  Prev: gftodvi invocation,  Up: Metafont
  441. MFT: Prettyprinting Metafont source
  442. ===================================
  443.   MFT translates a Metafont program into a TeX document suitable for
  444. typesetting, with the aid of TeX macros defined in the file
  445. `mftmac.tex'.  Synopsis:
  446.      mft [OPTION]... MFNAME[.mf]
  447.   MFT searches the usual places for MFNAME (*note Supported file
  448. formats: (kpathsea)Supported file formats.).  To see all the relevant
  449. paths, set the environment variable `KPATHSEA_DEBUG' to `-1' before
  450. running the program.  The output goes to the basename of MFNAME extended
  451. with `.tex', e.g., `mft /wherever/foo.mf' creates `./foo.tex'.
  452.   Line breaks in the input are carried over into the output; moreover,
  453. blank spaces at the beginning of a line are converted to quads of
  454. indentation in the output. Thus, you have full control over the
  455. indentation and line breaks. Each line of input is translated
  456. independently of the others.
  457.   Further control is allowed via Metafont comments:
  458.    * Metafont comments following a single `%' should be valid TeX
  459.      input.  But Metafont material can be included within vertical bars
  460.      in a comment; this will be translated by MFT as if it were regular
  461.      Metafont code.  For example, a comment like `% |x2r| is the tip of
  462.      the bowl' will be translated into the TeX `% $x_{2r}$ is the ...',
  463.      i.e., the `x2r' is treated as an identifier.
  464.    * `%%' indicates that the remainder of an input line should be copied
  465.      verbatim to the output.  This is typically used to introduce
  466.      additional TeX material at the beginning or an MFT job, e.g. code
  467.      to modify the standard layout or the formatting macros defined in
  468.      `mftmac.tex', or to add a line saying `%%\bye' at the end of the
  469.      job.  (MFT doesn't add this automatically in order to allow
  470.      processing several files produces by MFT in the same TeX job.)
  471.    * `%%% TOKEN1 OTHER-TOKENS' introduces a change in MFT's formatting
  472.      rules; all the OTHER-TOKENS will henceforth be translated
  473.      according to the current conventions for TOKEN1. The tokens must
  474.      be symbolic (i.e., not numeric or string tokens). For example, the
  475.      input line
  476.           %%% addto fill draw filldraw
  477.      says to format the `fill', `draw', and `filldraw' operations of
  478.      plain Metafont just like the primitive token `addto', i.e., in
  479.      boldface type.  Without such reformatting commands, MFT would
  480.      treat `fill' like an ordinary tag or variable name.  In fact, you
  481.      need a `%%%' command even to get parentheses to act like
  482.      delimiters.
  483.    * `%%%%' introduces an MFT comment, i.e., MFT ignores the remainder
  484.      of such a line.
  485.    * Five or more `%' signs should not be used.
  486.   (The above description was edited from `mft.web', written by
  487. D.E. Knuth.)
  488.   The program accepts the following options, as well as the standard
  489. `-help' and `-version' (*note Common options::.):
  490. `-change=CHFILE[.ch]'
  491.      Apply the change file CHFILE as with Tangle and Weave (*note
  492.      WEB::.).
  493. `-style=MFTFILE[.mft]'
  494.      Read MFTFILE before anything else; a MFT style file typically
  495.      contains only MFT directives as described above.  The default
  496.      style file is named `plain.mft', which defines this properly for
  497.      programs using plain Metafont.  The MFT files is searched along the
  498.      `MFTINPUTS' path; see *Note Supported file formats:
  499.      (kpathsea)Supported file formats.
  500.      Other examples of MFT style files are `cmbase.mft', which defines
  501.      formatting rules for the macros defined in `cm.base', and `e.mft',
  502.      which was used in the production of Knuth's Volume E, `Computer
  503.      Modern Typefaces'.
  504.      Using an appropriate MFT style file, it is also possible to
  505.      configure MFT for typesetting MetaPost sources.  However, MFT does
  506.      not search the usual places for MetaPost input files.
  507.   If you use eight-bit characters in the input file, they are passed on
  508. verbatim to the TeX output file; it is up to you to configure TeX to
  509. print these properly.
  510. File: web2c.info,  Node: MetaPost,  Next: BibTeX,  Prev: Metafont,  Up: Top
  511. MetaPost: Creating technical illustrations
  512. ******************************************
  513.   MetaPost is a picture-drawing language similar to Metafont (*note
  514. Metafont::.), but instead of outputting bitmaps in a "font", it outputs
  515. PostScript commands.  It's primarily intended for creating technical
  516. illustrations.
  517.   MetaPost also provides for arbitrary integration of text and graphics
  518. in a natural way, using any typesetter (TeX and Troff are both
  519. supported) and a number of other subsidiary programs, described below.
  520. * Menu:
  521. * mpost invocation::            Invoking MetaPost.
  522. * inimpost invocation::         Initial MetaPost.
  523. * virmpost invocation::         Virgin MetaPost.
  524. * makempx invocation::          Create MPX files for labels.
  525. * dvitomp invocation::          DVI-to-MPX translation.
  526. * dmp invocation::              Ditroff-to-MPX translation.
  527. * mpto invocation::             Extracting labels from MetaPost programs.
  528. * newer invocation::            Is one file newer than another?
  529. File: web2c.info,  Node: mpost invocation,  Next: inimpost invocation,  Up: MetaPost
  530. `mpost' invocation
  531. ==================
  532.   MetaPost (installed as `mpost') reads a series of pictures specified
  533. in the MetaPost programming language, and outputs corresponding
  534. PostScript code.  This section merely describes the options available
  535. in the Web2c implementation.  For a complete description of the
  536. MetaPost language, see AT&T technical report CSTR-162, generally
  537. available as the file `TEXMF/doc/metapost/mpman.ps', where TEXMF is the
  538. root of TeX directory structure.  See also
  539. `http://cm.bell-labs.com/who/hobby/MetaPost.html'.
  540.   Also, a standard MetaPost package for drawing graphs is documented in
  541. AT&T technical report CSTR-164, available as the file `mpgraph.ps',
  542. generally stored alongside `mpman.ps'.
  543.   MetaPost processes its command line and determines its memory dump
  544. (mem) file in a way exactly analogous to Metafont and TeX (*note `tex'
  545. invocation: tex invocation., and *note Memory dumps::.).  Synopses:
  546.      mpost [OPTION]... [MPNAME[.mp]] [MP-COMMANDS]
  547.      mpost [OPTION]... \FIRST-LINE
  548.      mpost [OPTION]... &MEM ARGS
  549.   MetaPost searches the usual places for the main input file MPNAME
  550. (*note Supported file formats: (kpathsea)Supported file formats.),
  551. extending MPNAME with `.mp' if necessary.  To see all the relevant
  552. paths, set the environment variable `KPATHSEA_DEBUG' to `-1' before
  553. running the program.
  554.   MetaPost writes its PostScript output to a series of files
  555. `BASEMPNAME.NNN' (or perhaps `BASEMPNAME.ps', very occasionally
  556. `BASEMPNAME.tfm'), where NNN are the figure numbers specified in the
  557. input, typically to the `beginfig' macro, and BASEMPNAME is the
  558. basename of MPNAME, or `mpout' if no input file was specified.
  559. MetaPost uses the `.ps' extension when the figure number is out of
  560. range, e.g., if you say `beginfig(-1)'.
  561.   You can use the output files as figures in a TeX document just as
  562. with any other PostScript figures. For example, with this TeX command:
  563.      \special{psfile="FILENAME"}
  564. or by using `epsf.tex' (*note EPSF macros: (dvips)EPSF macros.).
  565.   The MetaPost construct
  566.      btex ... TEX-INPUT ... etex
  567. calls MakeMPX to generate a MPX file containing a MetaPost picture
  568. expression corresponding to TEX-INPUT (*note makempx invocation::.).
  569.   The construct
  570.      verbatimtex ... TEX-INPUT ... etex
  571. simply passes the TEX-INPUT through to MakeMPX and thus to TeX. For
  572. example, if you are using LaTeX, your MetaPost input file must start
  573. with a `verbatimtex' block that gives the necessary `\documentclass'
  574. (or `\documentstyle') `\begin{document}' command.  You will also need
  575. to set the enviroment variable `TEX' to `latex' (*note makempx
  576. invocation::.).
  577.   TEX-INPUT need not be specifically TeX input; it could also be Troff.
  578. In that case, you will need the `-m pictures' Troff macro package
  579. (unfortunately absent from many Troff implementations), or an
  580. equivalent such as the `-m pspic' macros from GNU groff described in
  581. grops(1).
  582.   Other typesetters can be supported with no change to MetaPost itself;
  583. only MakeMPX needs to be updated.
  584.   Naturally, you must use fonts that are supported by the typesetter;
  585. specifically, you'll probably want to use standard PostScript fonts with
  586. Troff.  And only the TeX system understands Computer Modern or other
  587. Metafont fonts; you can also use PostScript fonts with TeX, of course.
  588.   MetaPost-generated PostScript figures which do use Computer Modern
  589. fonts for labels cannot be directly previewed or printed.  Instead, you
  590. must include them in a TeX document and run the resulting DVI file
  591. through Dvips to arrange for the downloading of the required fonts
  592. (*note Fonts in figures: (dvips)Fonts in figures.).  To help with this,
  593. the MetaPost distribution provides a small TeX file `mproof.tex' which
  594. is typically called as:
  595.      tex mproof MP-OUTPUT-FILES... ; dvips mproof -o
  596. The resulting file `mproof.ps' can then be printed or previewed.
  597.   To generate EPSF files, set the internal MetaPost variable
  598. `prologues' positive.  To make the output files self-contained, use
  599. only standard PostScript fonts.  MetaPost reads the same `psfonts.map'
  600. file as Dvips, to determine PostScript fonts that need to be downloaded
  601. (*note psfonts.map: (dvips)psfonts.map.).
  602.   MetaPost can write output files, via the `write' primitive; this
  603. opens a security hole.  *Note tex invocation::.
  604.   The program accepts the following options, as well as the standard
  605. `-help' and `-version' (*note Common options::.):
  606. `-kpathsea-debug=NUMBER'
  607. `-ini'
  608. `-mem=MEMNAME'
  609. `-progname=STRING'
  610. `-translate-file=TCXFILE'
  611.      These options are common to TeX, Metafont, and MetaPost.  *Note
  612.      Common options::.
  613. `-troff'
  614.      Set the `prologues' internal variable to `1', and use `makempx
  615.      -troff' to generate MPX files.
  616. File: web2c.info,  Node: inimpost invocation,  Next: virmpost invocation,  Prev: mpost invocation,  Up: MetaPost
  617. `inimpost' invocation
  618. =====================
  619.   `inimpost' is the "initial" form of MetaPost, which does lengthy
  620. initializations avoided by the "virgin" (`vir') form, so as to be
  621. capable of dumping `.mem' files (*note Memory dumps::.).  For a
  622. detailed comparison of virgin and initial forms, see *Note Initial and
  623. virgin::.
  624.   For a list of options and other information, see *Note mpost
  625. invocation::.
  626.   The only memory dump file commonly used with MetaPost is the default,
  627. `plain.mem', also known as `mpost.mem' (again, *note Memory dumps::.).
  628. It is created by default during installation, but you can also do so by
  629. hand if necessary (e.g., if a MetaPost update is issued):
  630.      inimpost '\input plain dump'
  631. (The quotes prevent interpretation of the backslashes from the shell.)
  632. Then install the resulting `plain.mem' in `$(memdir)'
  633. (`/usr/local/share/texmf/web2c' by default), and link `mpost.mem' to it.
  634.   MetaPost also provides a mem file with all the features of plain
  635. Metafont, called `mfplain.mem'.  You can create that in the same way;
  636. just replace `plain' in the above command with `mfplain'.
  637. `mfplain.mem' file lets you directly process Metafont source files with
  638. MetaPost, producing character proofs (one file for each character)
  639. similar to those produced with Metafont in proof mode and GFtoDVI
  640. (*note gftodvi invocation::.).
  641. File: web2c.info,  Node: virmpost invocation,  Next: makempx invocation,  Prev: inimpost invocation,  Up: MetaPost
  642. `virmpost' invocation
  643. =====================
  644.   `virmpost' is the "virgin" form of MetaPost, which avoids the lengthy
  645. initializations done by the "initial" (`ini') form, and is thus what is
  646. generally used for production work.  For a detailed comparison of
  647. virgin and initial forms, see *Note Initial and virgin::.
  648.   For a list of options and other information, see *Note mpost
  649. invocation::.
  650. File: web2c.info,  Node: makempx invocation,  Next: dvitomp invocation,  Prev: virmpost invocation,  Up: MetaPost
  651. MakeMPX: Support MetaPost labels
  652. ================================
  653.   In MetaPost, labels can be typeset using any document processor; the
  654. Web2c implementation supports TeX and Troff.  MakeMPX translates the
  655. labels from the typesetting language back into low-level MetaPost
  656. commands in a so-called "mpx file", so text can be manipulated like
  657. other graphic objects.  It is invoked automatically by MetaPost.
  658. Synopsis:
  659.      makempx [-troff] MPFILE MPXFILE
  660. The input comes from MPFILE (no path searching is done), and the output
  661. goes to MPXFILE.  However, if the file MPXFILE already exists, and is
  662. newer than MPFILE, then nothing is done (presumably the file is
  663. up-to-date).
  664.   Otherwise:
  665.   1. MPto is run to extract the label text from the MetaPost source
  666.      file MPFILE (*note mpto invocation::.).
  667.   2. The typesetting program itself is run, either TeX or Troff (see
  668.      below).  If TeX, and the file named by the `MPTEXPRE' environment
  669.      variable exists (`mptexpre.tex' by default), that file is
  670.      prepended to the input from the MetaPost file.
  671.   3. The typesetter output (a DVI file in the case of TeX, Ditroff
  672.      output for Troff) is translated back to MetaPost, by DVItoMP
  673.      (*note dvitomp invocation::.) or DMP (*note dmp invocation::.)
  674.      respectively.
  675.   If any of the above steps fail, for example if there was a typesetting
  676. mistake in the original MPFILE, output may be left in files named
  677. `mpxerr.{log,tex,dvi}' (TeX) or `mpxerr{,.t}' (Troff), so you can
  678. diagnose the problem.
  679.   The `-troff' option to MPto selects the Troff commands, rather than
  680. TeX.  MetaPost supplies this automatically if the `-T' or `-troff'
  681. option was specified to MetaPost.
  682.   The MPX file created by MakeMPX is a sequence of MetaPost picture
  683. expressions, one for every label in the original MetaPost input file.
  684.   The names of the commands run by MakeMPX, and the directory added to
  685. the shell search `PATH' for the commands' location, are overridden by
  686. environment variables.  Here is a list:
  687. `MAKEMPX_BINDIR'
  688.      The directory added to the `PATH'.  Default is the `$(bindir)'
  689.      Make directory, which in turn is set from the configure-time
  690.      `--bindir', `--exec-prefix' and `--prefix' options; if nothing
  691.      else is specified, the default is file `/usr/local'.
  692. `NEWER'
  693.      The command run to determine if MPXFILE is out of date with respect
  694.      to MPFILE; default is `newer'.
  695. `MPTOTEX'
  696.      The command run to extract MetaPost labels in TeX format; default
  697.      is `mpto -tex'.
  698. `MPTOTR'
  699.      Likewise, for Troff; default is `mpto -troff'.
  700. `DVITOMP'
  701.      The command run to convert TeX output back to MetaPost; default is
  702.      `dvitomp'.
  703. `DMP'
  704.      Likewise, for Troff; default is `dmp'.
  705. `TEX'
  706.      The command run to typeset the labels in TeX; default is `tex'.
  707.      If you use LaTeX, set this to `latex', and supply an appropriate
  708.      `verbatimtex' header in the MP source (*note mpost invocation::.).
  709. `TROFF'
  710.      Likewise, for Troff; default is `'eqn -d\$\$ | troff -Tpost''.  You
  711.      may need to replace `-Tpost' by `-TTERM', where TERM is the
  712.      PostScript device name for your Troff implementation, e.g., `ps'
  713.      or `psc'; see troff(1).
  714.      If you change this, you will also need to set the `TRFONTS'
  715.      environment variable or configuration value to point to the
  716.      appropriate font directory, traditionally `/usr/lib/font/devTERM'.
  717. File: web2c.info,  Node: dvitomp invocation,  Next: dmp invocation,  Prev: makempx invocation,  Up: MetaPost
  718. DVItoMP: DVI to MPX conversion
  719. ==============================
  720.   DVItoMP converts DVI files into low-level MetaPost commands in a
  721. so-called MPX file.  This program is generally invoked only by MakeMPX
  722. (*note makempx invocation::.).  Synopsis:
  723.      dvitomp DVIFILE[.dvi] [MPXFILE[.mpx]]
  724. If MPXFILE is not specified, the output goes to the basename of DVIFILE
  725. extended with `.mpx', e.g., `dvitomp /wherever/foo.dvi' creates
  726. `./foo.mpx'.
  727.   The only options are `-help' and `-version' (*note Common options::.).
  728. File: web2c.info,  Node: dmp invocation,  Next: mpto invocation,  Prev: dvitomp invocation,  Up: MetaPost
  729. DMP: Ditroff to MPX conversion
  730. ==============================
  731.   DMP converts device-independent Troff (ditroff) output files into
  732. low-level MetaPost commands in a so-called MPX file.  This program is
  733. generally invoked by MakeMPX (*note makempx invocation::.).  Synopsis:
  734.      dmp [DITROFF-FILE [MPXFILE]]
  735. If DITROFF-FILE is not specified, input comes from standard input; and
  736. if MPXFILE is not specified, output goes to standard output.
  737.   DMP was written to process the output of a Troff pipeline fed the
  738. output of `mpto -troff' (*note mpto invocation::.).  DMP understands all
  739. the `DC' graphics functions that `dpost' does, but it ignores `x X'
  740. device control functions such as `x X SetColor:...', `x X BeginPath:',
  741. and `x X DrawPath:...'.
  742.   The available font names are defined in the support file
  743. `trfonts.map', which DMP looks for along the `MPSUPPORT' path.
  744.   Another support file `trchars.adj', also looked for along the
  745. `MPSUPPORT' path, contains a character adjustment table which should
  746. reflect the shift amounts found in the standard PostScript prologue for
  747. Troff and dpost found in the `TRFONTS' directory.  Such an adjustment
  748. table is unnecessary for some Troff implementations, in which case
  749. `trchars.adj' should be replaced by an empty file--but it must still
  750. exist.
  751.   DMP was written for one particular Troff implementation, and it
  752. unfortunately has many built-in assumptions about the output and fonts
  753. file formats used by Troff, which may not be satisfied in other
  754. environments.  In particular, GNU groff uses some extensions in its file
  755. formats described in groff_font(5) and groff_out(5) which make its
  756. output completely unusable for DMP.  On the other hand, the Troff
  757. version found in Sun Solaris 2.x, and perhaps other systems derived from
  758. System V R4, works fine with the default settings.
  759.   If you run into trouble and want to adapt DMP to other systems, you
  760. might have to try the following (this is primarily for hackers):
  761.    * If DMP complains about a missing font table (e.g., `Cannot find
  762.      TR'), your Troff may not support the device `post'.
  763.      Check troff(1) for the devices supported by your Troff and set the
  764.      `TROFF' environment variable appropriately (see above).  Also,
  765.      locate the appropriate font directory and set the `TRFONTS'
  766.      variable as needed.
  767.    * If DMP complains about a missing font description file (e.g., `Font
  768.      TR was not in map file'), your version of Troff may be using
  769.      internal font names different from those in the distributed
  770.      `trfonts.map'; e.g., TR and TI instead of R and I for Times-Roman
  771.      and Times-Italic.
  772.      In this case, you may have to adapt `trfonts.map' and perhaps also
  773.      `trchars.adj' in the MetaPost support directory
  774.      (`texmf/metapost/support' by default).
  775.    * If DMP still complains that it cannot parse the font description
  776.      files or the Troff output (e.g., `TR has a bad line in its
  777.      description file', you are probably out of luck and have to hack
  778.      the DMP program (in `web2c/mpware/dmp.c').
  779.      Such problems may be caused by subtle differences in the file
  780.      formats, such as use of tabs vs. spaces as field separators or
  781.      decimal vs. octal vs. hex format for font metric data.
  782.      A reasonably good description of the expected Troff file formats
  783.      can be found in AT&T technical report CSTR-54 (`Troff User's
  784.      Manual', Revised 1992).  Documentation on the subtle differences
  785.      in other Troff implementation is harder to find except for GNU
  786.      groff, where it's all documented in the above-mentioned
  787.      groff_font(5) and groff_out(5).
  788.      Any contributions to improve the portability of DMP or to make it
  789.      work with GNU groff are welcome, of course.
  790.   (Some of the above description was edited from the `dmp.c' source
  791. file, written by John Hobby.)
  792.   The only options are `--help' and `--version' (*note Common
  793. options::.).
  794. File: web2c.info,  Node: mpto invocation,  Next: newer invocation,  Prev: dmp invocation,  Up: MetaPost
  795. MPto: Extract labels from MetaPost input
  796. ========================================
  797.   MPto extracts the labels from a MetaPost input file; this is the
  798. contents of any `btex...etex' and `verbatimtex...etex' sections.  This
  799. program is generally invoked by MakeMPX (*note makempx invocation::.).
  800. Synopsis:
  801.      mpto [OPTION]... MPFILE
  802. The input comes from MPFILE; no path searching is done.  The output
  803. goes to standard output.  Leading and trailing spaces and tabs are
  804. removed, and various predefined typesetter commands are included at the
  805. beginning of and end of the file and of each section.
  806.   The program accepts the following options, as well as the standard
  807. `-help' and `-version' (*note Common options::.):
  808. `-troff'
  809.      Surround the MetaPost sections with Troff commands.
  810. `-tex'
  811.      Surround the MetaPost sections with TeX commands. This is the
  812.      default.
  813. File: web2c.info,  Node: newer invocation,  Prev: mpto invocation,  Up: MetaPost
  814. Newer: Compare file modification times
  815. ======================================
  816.   Newer compares file modification times.  Synopsis:
  817.      newer SRC DEPENDENT
  818. Newer exits successfully if the file SRC exists and is older as
  819. DEPENDENT, i.e., the modification time (mtime) of SRC is greater than
  820. that of DEPENDENT.  *Note Attribute Meanings: (libc)Attribute Meanings.
  821.   Although this could be written as a Perl script (*note File
  822. Operations: (perl)File Operations.) or using the `--full-time' option
  823. supported by `ls' (*note ls invocation: (fileutils)ls invocation.), it
  824. seems undesirable to depend on such independent, and sadly
  825. non-universal, programs.
  826.   This is used by MakeMPX (*note makempx invocation::.).
  827. File: web2c.info,  Node: BibTeX,  Next: WEB,  Prev: MetaPost,  Up: Top
  828. BibTeX: Bibliographies
  829. **********************
  830.   BibTeX automates much of the job of typesetting bibliographies, and
  831. makes bibliography entries reusable in many different contexts.
  832. * Menu:
  833. * bibtex invocation::
  834. * Basic BibTeX style files::    The standard and semi-standard styles.
  835. File: web2c.info,  Node: bibtex invocation,  Next: Basic BibTeX style files,  Up: BibTeX
  836. BibTeX invocation
  837. =================
  838.   BibTeX creates a printable bibliography (`.bbl') file from references
  839. in a `.aux' file, generally written by TeX or LaTeX.  The `.bbl' file
  840. is then incorporated on a subsequent run.  The basic bibliographic
  841. information comes from `.bib' files, and a BibTeX style (`.bst') file
  842. controls the precise contents of the `.bbl' file.  Synopsis:
  843.      bibtex [OPTION]... AUXFILE[.aux]
  844. The output goes to the basename of AUXFILE extended with `.bbl'; for
  845. example, `bibtex /wherever/foo.aux' creates `./foo.bbl'.  BibTeX also
  846. writes a log file to the basename of AUXFILE extended with `.blg'.
  847.   The names of the `.bib' and `.bst' files are specified in the `.aux'
  848. file as well, via the `\bibliography' and `\bibliographystyle' (La)TeX
  849. macros.  BibTeX searches for `.bib' files using the `BIBINPUTS' and
  850. `TEXBIB' paths, and for `.bst' files using `BSTINPUTS' (*note Supported
  851. file formats: (kpathsea)Supported file formats.).  It does no path
  852. searching for `.aux' files.
  853.   The program accepts the following options, as well as the standard
  854. `-help' and `-version' (*note Common options::.):
  855. `-terse'
  856.      Suppress the program banner and progress reports normally output.
  857. `-min-crossrefs=N'
  858.      If at least N (2 by default) bibliography entries refer to another
  859.      entry E via their `crossref' field, include E in the .bbl file,
  860.      even if it was not explicitly referenced in the .aux file. For
  861.      example, E might be a conference proceedings as a whole, with the
  862.      cross-referencing entries being individual articles published in
  863.      the proceedings.  In some circumstances, you may want to avoid
  864.      these automatic inclusions altogether; to do this, make N a
  865.      sufficiently large number.
  866.   See also:
  867. `btxdoc.tex'
  868.      Basic LaTeXable documentation for general BibTeX users.
  869. `btxhak.tex'
  870.      LaTeXable documentation for style designers.
  871. `btxdoc.bib'
  872.      BibTeX database file for the two above documents.
  873. `xampl.bib'
  874.      Example database file with all the standard entry types.
  875. ``ftp://ftp.math.utah.edu/pub/tex/bib/''
  876.      A very large `.bib' and `.bst' collection, including references
  877.      for all the standard TeX books and a complete bibliography for
  878.      TUGboat.
  879. File: web2c.info,  Node: Basic BibTeX style files,  Prev: bibtex invocation,  Up: BibTeX
  880. Basic BibTeX style files
  881. ========================
  882.   Here are descriptions of the four standard and four semi-standard
  883. basic BibTeX styles.  `CTAN:/biblio/bibtex' contains these and many
  884. more (for CTAN info, *note unixtex.ftp: (kpathsea)unixtex.ftp.).
  885. `plain'
  886.      Sorts entries alphabetically, with numeric labels.  Generally
  887.      formatted according to van Leunen's `A Handbook for Scholars'.
  888.      The other style files listed here are based on `plain'.
  889. `abbrv'
  890.      First names, month names, and journal names are abbreviated.
  891. `acm'
  892.      Names are printed in small caps.
  893. `alpha'
  894.      Alphanumeric labels, e.g., `Knu66'.
  895. `apalike'
  896.      No labels at all; instead, the year appears in parentheses after
  897.      the author.  Should be used in conjunction with `apalike.tex'
  898.      (plain TeX) or `apalike.sty' (LaTeX), which also changes the
  899.      citations in the text to be `(AUTHOR, YEAR)'.
  900. `ieeetr'
  901.      Numeric labels, entries in citation order, IEEE abbreviations,
  902.      article titles in quotes.
  903. `siam'
  904.      Numeric labels, alphabetic order, `Math. Reviews' abbreviations,
  905.      names in small caps.
  906. `unsrt'
  907.      Lists entries in citation order, i.e., unsorted.
  908. `btxbst.doc'
  909.      The template file and documentation for the standard styles.
  910. File: web2c.info,  Node: WEB,  Next: DVI utilities,  Prev: BibTeX,  Up: Top
  911. WEB: Literate programming
  912. *************************
  913.   "WEB" languages allow you to write a single source file that can
  914. produce both a compilable program and a well-formatted document
  915. describing the program in as much detail as you wish to prepare.
  916. Writing in this kind of dual-purpose language is called "literate
  917. programming".  (The Usenet newsgroup `comp.programming.literate' and
  918. the mailing list <litprog@shsu.edu> are devoted to this subject; they
  919. are gatewayed to each other.)
  920.   WEB-like languages have been implemented with many pairs of base
  921. languages: Cweb provides C and Troff (*note References::.); CWEB
  922. provides C and TeX (`CTAN:/web/c_cpp/cweb'); Spiderweb provides C, C++,
  923. Awk, Ada, many others, and TeX (`CTAN:/web/spiderweb'); and, of course,
  924. the original WEB provides Pascal and TeX, the implementation languages
  925. for the original TeX, Metafont, MetaPost, and related programs to come
  926. from the TeX project at Stanford.
  927.   The original WEB language is documented in the file `webman.tex',
  928. which is included in the `ftp://ftp.tug.org/tex/lib.tar.gz' archive
  929. (and available in many other places, of course).
  930. * Menu:
  931. * tangle invocation::
  932. * weave invocation::
  933. * pooltype invocation::
  934. File: web2c.info,  Node: tangle invocation,  Next: weave invocation,  Up: WEB
  935. Tangle: Translate WEB to Pascal
  936. ===============================
  937.   Tangle creates a compilable Pascal program from a WEB source file
  938. (*note WEB::.).  Synopsis:
  939.      tangle [OPTION]... WEBFILE[.web] [CHANGEFILE[.ch]]
  940. The Pascal output is written to the basename of WEBFILE extended with
  941. `.p'; for example, `tangle /wherever/foo.web' creates `./foo.p'.
  942. Tangle applies CHANGEFILE to WEBFILE before writing the output; by
  943. default, there is no change file.
  944.   If the program makes use of the WEB string facility, Tangle writes the
  945. string pool to the basename of WEBFILE extended with `.pool'.
  946.   The Pascal output is packed into lines of 72 characters or less, with
  947. the only concession to readability being the termination of lines at
  948. semicolons when this can be done conveniently.
  949.   The only options are `--help' and `--version' (*note Common
  950. options::.).
  951.